//
//  ZYXCarFZViewController.m
//  OCUIBasis
//  UITableView演示 代码封装
//

#import "ZYXCarFZViewController.h"

#import "ZYXCarGroup.h"

@interface ZYXCarFZViewController () <UITableViewDataSource>

@property (nonatomic,weak) IBOutlet UITableView *tableView;

@property (nonatomic, strong) NSArray *carGroups;

@end

@implementation ZYXCarFZViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    // 设置数据源
    self.tableView.dataSource = self;
}

// 隐藏状态栏
- (BOOL)prefersStatusBarHidden
{
    return YES;
}

- (NSArray *)carGroups
{
    if (_carGroups == nil) {
        // 初始化
        // 德系品牌
        ZYXCarGroup *cg1 = [[ZYXCarGroup alloc] init];
        cg1.title = @"德系品牌";
        cg1.desc = @"德系品牌很好";
        cg1.carsArray = @[@"奥迪", @"宝马", @"奔驰"];
        
        // 日韩品牌
        ZYXCarGroup *cg2 = [[ZYXCarGroup alloc] init];
        cg2.title = @"日韩品牌";
        cg2.desc = @"日韩品牌很好 但是日系车不敢买了";
        cg2.carsArray = @[@"本田", @"丰田"];
        
        // 欧系品牌
        ZYXCarGroup *cg3 = [[ZYXCarGroup alloc] init];
        cg3.title = @"欧系品牌";
        cg3.desc = @"欧系品牌";
        cg3.carsArray = @[@"兰博基尼", @"法拉利"];
        
        _carGroups = @[cg1, cg2, cg3];
    }
    return _carGroups;
}


#pragma mark - 数据源方法

/**
 *  一共有多少组数据
 */
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return self.carGroups.count;
}

/**
 *  第section组有多少行
 */
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // 取得第section组对应的模型
    ZYXCarGroup *cg = self.carGroups[section];
    
    return cg.carsArray.count;
}

/**
 *  每一行显示怎样的内容(cell)
 */
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
    
    // 取出第indexPath.section组对应的模型
    ZYXCarGroup *cg = self.carGroups[indexPath.section];
    
    // 取车第indexPath.row这行对应的品牌名称
    NSString *car = cg.carsArray[indexPath.row];
    
    // 设置cell显示的文字
    cell.textLabel.text = car;
    
    return cell;
}

/**
 *  第section组显示怎样的头部标题
 */
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    ZYXCarGroup *cg = self.carGroups[section];
    
    return cg.title;
}

/**
 *  第section组显示怎样的尾部标题
 */
- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section
{
    ZYXCarGroup *cg = self.carGroups[section];
    
    return cg.desc;
}


@end
